iT邦幫忙

2025 iThome 鐵人賽

DAY 9
0
自我挑戰組

leetcode系列 第 9

leetcode 9. Palindrome Number

  • 分享至 

  • xImage
  •  

題目:
Given an integer x, return true if x is a palindrome, and false otherwise.
給定一個整數x,true如果x是,則返回回文,false否則。
https://ithelp.ithome.com.tw/upload/images/20250923/20169340Cr3fVZ4WMg.png
解題思路

轉字串法(簡單直觀)

把整數轉成字串,然後用雙指標檢查是否左右對稱。

缺點:用了額外字串空間。

數學反轉法(最佳做法)

不轉字串,直接反轉數字。

但不用反轉整個數字,只需要反轉「一半」,避免溢位。

步驟:

如果 x < 0 或 (末位數是 0 且 x 不是 0),直接回 false。

用一個變數 rev 保存反轉後的一半數字。

當 x > rev 時,不斷取出最後一位數字加入到 rev。

最後檢查:x == rev (偶數位) 或 x == rev/10 (奇數位)。


上一篇
leetcode 8. String to Integer (atoi)
下一篇
leetcode 10. Regular Expression Matching
系列文
leetcode12
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言